package com.black.cat.environment;

public interface Environment extends PropertyResolver {

    /**
     * 获取当前环境对象激活的所有profile组。
     *
     * @return
     */
    String[] getActiveProfiles();
    /**
     * 获取默认的profile组。
     * 如果当前环境对象中激活的组为空（getActiveProfiles()返回空数组）的话，
     * 则会启用默认profile组。
     *
     * @return
     */
    String[] getDefaultProfiles();

    /**
     * 判断给定的一个或多个组中，是否存在满足当前环境对象配置的组（任意一个组满足即可）。
     * 如：
     * 调用acceptsProfiles("p1","!p2")，如果当前环境对象激活了p1，
     * 或者没有激活p2（注意是或，满足一个条件即可），则返回true，否则返回false。
     *
     * @param profiles
     * @return
     */
    boolean acceptsProfiles(String... profiles);
}
